package com.neusoft.neuiotms.dcvm.config;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.scheduling.annotation.EnableScheduling;

import com.neusoft.bizcore.auth.annotation.EnableBizcoreAuth;
import com.neusoft.bizcore.cache.annotation.EnableBizcoreCache;
import com.neusoft.bizcore.notice.annotition.EnableBizcoreNotice;
import com.neusoft.bizcore.schedule.annotition.EnableBizcoreSchedule;
import com.neusoft.bizcore.webauth.secret.EnableBizcoreSecurity;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@EnableBizcoreSecurity
@EnableBizcoreAuth
@EnableBizcoreSchedule
@EnableBizcoreCache
@EnableBizcoreNotice
@EnableScheduling
@SpringBootApplication
@EntityScan({"com.neusoft.neuiotms.dcvm.model", "com.neusoft.bizcore.auth.model",
        "com.neusoft.bizcore.notice.system.model",
        "com.neusoft.bizcore.notice.notification.model","com.neusoft.neuiotms.dcvm.task.cmdbSyn.model" })
@EnableJpaRepositories(basePackages = {"com.neusoft.neuiotms.dcvm", "com.neusoft.bizcore.auth",
        "com.neusoft.bizcore.notice" })
@ComponentScan(basePackages = {"com.neusoft.neuiotms.dcvm", "com.neusoft.bizcore.notice" })
public @interface DcvmConfig {

}
